/*
* js4nk示例脚本
* 监听器脚本
* */
// 这里的代码相当于import，但又有所不同
var SERVER = Java.type("cn.nukkit.Server").getInstance();
var TextFormat = Java.type("cn.nukkit.utils.TextFormat");
var PLAYERJOINEVENT = Java.type("cn.nukkit.event.player.PlayerJoinEvent")
var PLAYERQUITEVENT = Java.type("cn.nukkit.event.player.PlayerQuitEvent")
var PLAYERMOVEEVENT = Java.type("cn.nukkit.event.player.PlayerMoveEvent")
var STONE = Java.type("cn.nukkit.block.BlockGlass")
/*
 * 当事件被触发的时候会调用onevent方法
 * 所有的事件都是通过这个方法处理
 * 然后使用instanceof来判断类型
 * 事件处理是单线程的，建议不要使用太复杂的操作，否则可能会引起卡顿
 * 目前并不是所有的事件都可以处理，详细请看JSEventListener类
 *
 * 下面展示了一个进入，退出发送消息;op移动自动铺路(石头)的程序
 *
*/
function onevent(event) {
    if (event instanceof PLAYERJOINEVENT) {
        SERVER.broadcastMessage(TextFormat.GREEN + event.getPlayer().getName() + "进入了游戏");
    }
    if (event instanceof PLAYERQUITEVENT) {
        SERVER.broadcastMessage(TextFormat.GREEN + event.getPlayer().getName() + "退出了游戏");
    }
    if (event instanceof PLAYERMOVEEVENT) {
        player = event.getPlayer();
        if (player.isOp()) {
            level = player.getLevel();
            pos = player.getPosition()
            pos.y --
            level.setBlock(pos, new STONE())
        }
    }
}